/////////////////////////////////////////////////////////////////////////////
// Name:        windowfilters.h
// Purpose:     
// Author:      Stephen Whittle
// Modified by: 
// Created:     24/06/2009 03:05:32
// RCS-ID:      
// Copyright:   
// Licence:     
/////////////////////////////////////////////////////////////////////////////

#ifndef _WINDOWFILTERS_H_
#define _WINDOWFILTERS_H_


/*!
 * Includes
 */

////@begin includes
#include "wx/frame.h"
#include "wx/notebook.h"
////@end includes
#include "wxmudtextctrl.h"
/*!
 * Forward declarations
 */

////@begin forward declarations
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_WINDOWFILTERS 10028
#define ID_PANEL2 10035
#define ID_LISTBOX 10029
#define ID_NOTEBOOK 10030
#define ID_PANEL1 10031
#define ID_LISTBOX1 10013
#define ID_TEXTCTRL2 10039
#define ID_BUTTON4 10040
#define ID_BUTTON5 10041
#define ID_PANEL3 10036
#define ID_PANEL4 10037
#define ID_PANEL5 10038
#define ID_BUTTON1 10032
#define SYMBOL_WINDOWFILTERS_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WINDOWFILTERS_TITLE _("Filter Windows")
#define SYMBOL_WINDOWFILTERS_IDNAME ID_WINDOWFILTERS
#define SYMBOL_WINDOWFILTERS_SIZE wxSize(450, 300)
#define SYMBOL_WINDOWFILTERS_POSITION wxDefaultPosition
////@end control identifiers


/*!
 * WindowFilters class declaration
 */

class WindowFilters: public wxFrame
{    
    DECLARE_CLASS( WindowFilters )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    WindowFilters();
    WindowFilters( wxWindow* parent, wxWindowID id = SYMBOL_WINDOWFILTERS_IDNAME, const wxString& caption = SYMBOL_WINDOWFILTERS_TITLE, const wxPoint& pos = SYMBOL_WINDOWFILTERS_POSITION, const wxSize& size = SYMBOL_WINDOWFILTERS_SIZE, long style = SYMBOL_WINDOWFILTERS_STYLE );

    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WINDOWFILTERS_IDNAME, const wxString& caption = SYMBOL_WINDOWFILTERS_TITLE, const wxPoint& pos = SYMBOL_WINDOWFILTERS_POSITION, const wxSize& size = SYMBOL_WINDOWFILTERS_SIZE, long style = SYMBOL_WINDOWFILTERS_STYLE );

    /// Destructor
    ~WindowFilters();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

////@begin WindowFilters event handler declarations

    /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_LISTBOX
    void OnListboxSelected( wxCommandEvent& event );

    /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_LISTBOX1
    void OnFilterListSelected( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON4
    void OnAddFilterClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON5
    void OnRemoveClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON1
    void OnCloseClick( wxCommandEvent& event );

////@end WindowFilters event handler declarations

////@begin WindowFilters member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end WindowFilters member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

////@begin WindowFilters member variables
    wxListBox* m_WindowList;
    wxListBox* m_FilterList;
    wxTextCtrl* m_FilterString;
////@end WindowFilters member variables
    wxMudTextCtrl* selectedWindow;
};

#endif
    // _WINDOWFILTERS_H_
